#ifndef CBEDITORPRINTOUT_H
#define CBEDITORPRINTOUT_H

#include <wx/print.h>

class cbStyledTextCtrl;

class cbEditorPrintout : public wxPrintout {
  public:
    cbEditorPrintout(const wxString& title, cbStyledTextCtrl* control, bool selectionOnly);
    ~cbEditorPrintout();
    bool OnPrintPage(int page);
    bool HasPage(int page);
    void GetPageInfo(int *minPage, int *maxPage, int *selPageFrom, int *selPageTo);
    bool OnBeginDocument(int startPage, int endPage);
  protected:
    bool ScaleDC(wxDC *dc);
    cbStyledTextCtrl* m_TextControl;
    wxRect m_pageRect;
    wxRect m_printRect;
    int m_printed;
    int m_SelStart;
    int m_SelEnd;
    wxArrayInt* m_pPageSelStart;
};

#endif
